インテグレーションの登録
インテグレーションの構築を始める前に、用語集をご一読ください。
インテグレーションの開発にあたっては、Pioの顧客ユーザーデータにアクセスする前に、Pioのシステム上でAutoStoreグリッドを使用する組織が設定されていることを確認してください。すでにPio Appの認証情報を受け取っている場合、設定は完了しています。受け取っていない場合はPio APIサポート(support@pio.com)にお問い合わせください。インテグレーションにPio APIからのコールバック更新が必要となる場合は、callback_urlが200を返すように設定してください。
独自のインテグレーションを構築するには、まずクライアント認証情報とAPIトークンを発行する必要があります。インテグレーションの追加については、次のセクションで詳しく説明します。現在、Pio APIを使用することにより、商品や注文の追加・更新や、商品の在庫変動および注文のフルフィルメントステータスの更新通知の受信が可能です。一部の更新情報は、APIがサポートするイベント向けのRESTフックを使用して受信できます。
インテグレーションの構成
インテグレーションの構築にあたっては、対象となる顧客が1社のみか、複数社にわたるかを事前に決定しておく必要があります。
Pioでは、1つのインテグレーションで複数の顧客やショップを管理することが可能です。これにより、より広い用途でインテグレーションを活用できます。
わかりやすい例としては、インテグレーションを構築することで、1つの店舗からの注文を処理してPioに送信できます。
ここでは、Foo 3PL社という架空の3PL事業者を例として考えてみましょう。Foo 3PL社には、Great Hats社、Great Shoes社、Great Gloves社という3社の顧客がいます。3社ともFoo 3PL社を通じて注文を出荷しています。ここで、Foo 3PL社がPioを導入するとします。この場合、3社の顧客を引き続き管理しながら、インテグレーションを構築する必要があります。
Pioの場合、このような状況にも簡単に対応可能です。まず、Foo 3PL社がPioに新しいインテグレーションを追加します。これがFoo 3PL社とPioをつなぐ共通の接点となります。次に、Foo 3PL社のインテグレーションにより、Pioに3つの新しいショップを作成します。それぞれのショップは、独自のアクセストークンを取得します。これにより、Foo 3PL社はそれぞれのショップのアクセストークンを使用して、各ショップの注文や商品を作成できるようになります。PioからWebhookメッセージを受信する際、リクエスト上のx-pio-ext-shop-idヘッダー情報により、各メッセージがどのショップに属するかを識別できます。

上の図を見てみましょう。Foo 3PL社のインテグレーションにより、IDが42であるGreat Hats社のストア向けにPioにショップを作成します。この場合、ext_shop_idを42に設定します。これにより、Pioから送信されるWebhookメッセージのうち、Great Hats社のストアに関連するものは、x-pio-ext-shop-idが42に設定されるようになります。
Pio APIへのインテグレーション登録
- 新しいインテグレーションを登録するには、
name(インテグレーション名)、email(開発者のメールアドレス)、有効なcallback_urlが必要となります。
callback_urlは、認証後にAPIがユーザーをリダイレクトするURLです。
- インテグレーションを登録すると、
client_idとclient_secretが発行されます。これらの情報は厳重に管理してください。Pio APIとのインテグレーションの識別に使用します。
Pio APIへのリクエストに必要なアクセスコード(access_code)を取得するには、次のセクションの手順に従ってください。その際、client_idとclient_secretを使用します。
- Pio APIでは、上記で取得した認証情報を使用して、インテグレーションの無効化(
DELETE)やインテグレーションの詳細情報を取得(GET)できます。